//
// Created by Liming Shao on 11/7/2017.
//

#ifndef CHAPTER3_C095_H
#define CHAPTER3_C095_H

typedef struct node{
    int value;
    struct node* left;
    struct node* right;
}Node;

#include <queue>
#include <stack>

class C095 {
public:
    void printEdge1(Node* head);
    void printEdge2(Node* head);
    void test();

private:
    int getHeight(Node* head,int l);

    Node* newNode(int val);

    std::queue<Node*> leftChildren;
    std::stack<Node*> rightChildren;
};


#endif //CHAPTER3_C095_H
